RT_SECURE_NO_WARNINGS 1

//#include<iostream>
//using std::cout;
//using std::endl;

//// 类中既有成员变量，又有成员函数
//class A1 {
//public:
//	void f1() {}
//private:
//	int _a;
//};
//// 类中仅有成员函数
//class A2 {
//public:
//	void f2() {}
//};
//// 类中什么都没有---空类
//class A3
//{};
//
//int main()
//{
//	cout << sizeof(A1) << endl;
//	cout << sizeof(A2) << endl;
//	cout << sizeof(A3) << endl;
//	return 0;
//}

//class Date
//{
//public:
//	void Display(Date* this)
//	{
//		cout << this->_year << "-" << this->_month << "-" << this->_day << endl;
//	}
//
//	void SetDate(int year, int month, int day)
//	{
//		_year = year;
//		_month = month;
//		_day = day;
//	}
//private:
//	int _year; // 年
//	int _month; // 月
//	int _day; // 日
//};
//int main()
//{
//	Date d1, d2;
//	d1.SetDate(2018, 5, 1);
//	d2.SetDate(2018, 7, 1);
//	d1.Display(&d1);
//	d2.Display(&d2);
//	return 0;
//}

#include"Stack.h"


int main()
{
	//现在就在类外直接调用接口就可以了
	//也不用考虑实现或者别人滥用
	class Stack st;
	st.Init();
	st.push(3);
	st.pop();
	return 0;
}

//int search(int* nums, int numsSize, int target) {
//    int left = 0;
//    int right = numsSize - 1;
//    int mid = 0;
//
//    while (left <= right)
//    {
//        mid = left + (right - left) / 2;
//        if (nums[mid] > target)
//        {
//            right = mid - 1;
//        }
//        else if (nums[mid] < target)
//        {
//            left = mid + 1;
//        }
//        else
//        {
//            break;
//        }
//    }
//    if (nums[mid] == target)
//        return mid;
//    else
//        return -1;
//}

//// The API isBadVersion is defined for you.
//// bool isBadVersion(int version);
//
//int firstBadVersion(int n) {
//    int left = 0;
//    int right = n - 1;
//    int mid = 0;
//
//    while (left <= right)
//    {
//        mid = left + (right - left) / 2;
//        if (isBadVersion(mid) == false && isBadVersion(mid + 1) == false)
//        {
//            left = mid + 1;
//        }
//        else if (isBadVersion(mid) == true && isBadVersion(mid + 1) == true)
//        {
//            right = mid - 1;;
//        }
//        else
//        {
//            break;
//        }
//    }
//    return mid + 1;
//}

//int searchInsert(int* nums, int numsSize, int target) {
//    if (target < nums[0])
//        return 0;
//    if (target > nums[numsSize - 1])
//        return numsSize;
//
//    int left = 0;
//    int right = numsSize - 1;
//    int mid = 0;
//    while (left <= right)
//    {
//        mid = left + (right - left) / 2;
//        if (nums[mid] > target)
//        {
//            right = mid - 1;
//        }
//        else if (nums[mid] < target)
//        {
//            left = mid + 1;
//        }
//        else
//        {
//            break;
//        }
//    }
//    if (nums[mid] == target)
//        return mid;
//    //!!!不管最后target大于小于nums【mid】，都是left，可以想象一下
//    return left;
//}
